Linuxword Global
当前位置: 建站相关 > Linux环境下搭建自主可控基于H5的网页直播系统

直播,目前炙手可热的技术之一,不少服务商都推出了基于各自系统的免费直播服务,但对于不少单位或企业来说,它们的流量较低,而且分散于不同的平台,且线上营销活动大部分依然基于自建网站,这种情况下使用其他平台的直播,大大降低了灵活性,浪费了潜在的观看流量。

如果自建直播平台,则可以在网站上供访客查看,巨大的可控性可以让任何合理的想象成为可能,如可以在用户提供联系信息之后开始播放。

网络视频直播系统简介

网络视频直播系统包含基本的四个部分,第一为视频采集端,它通过硬件或者软件的方式此采集需要推送的视频和音频信息,然后传送给推送端;第二个为推送端,它把接收到的视频和音频信号进行编码和适当的压缩,然后上传到直播服务器,推送端可以和采集端位于一个物理设备上,也可以使用另外的设备;第三个为直播服务器,直播服务器在接收到推送段的信息之后,可能有两种处理方式,提供RTMP服务的服务器直接把接收到的信号传入输出端口,而提供HLS服务的服务器会在接收到信号之后,把一段时间(可控)的视频打包成视频文件,供客户端下载;第四个为观看端,使用专用的RTMP播放器或网页就能观看。

obs-flowchart-2

OBS直播推流系统

搭建一个网页直播系统

使用nginx-rtmp搭建直播服务器

Nginx-rtmp是nginx的一个直播服务插件,使用它可以同时搭建RTMP和HLS直播系统,适合小型的直播服务。nginx-rtmp需要和nignx一起编译安装,

1.1 下载最新稳定版nignx源代码和nginx-rtmp源代码,并解压。

1.2 安装libzip-devel libopenssl-devel libpcre-devel等nginx依赖包和gcc gcc-c++ cmake编译工具.

1.3 编译nginx,进入nginx代码目录,运行./configure –prefix=/opt/nginx/ –user=nginx –group=nginx –add-module=nginx-rtmp解压目录,如果需要安装其他nignx功能,则按需要加入相关命令。

1.4 使用 make && make install命令进行最后的编译和安装。

1.5 编译成功之后,/opt/目录下会出现nginx目录,然后分别给nginx配置rtmp服务和hls服务即可。

配置RTMP服务

编辑/opt/nginx/conf/nginx.conf文件,输入以下内容以配置RTMP流媒体服务

  • rtmp {
  • server {
  •         listen 1935;
  •         #RTMP LIVE
  •         application live {
  •            live on;
  •            hls on;
  •            hls_path /wwwroot/live/hls;
  •            hls_fragment 5s;
  •           record off;
  •         }
  •     }
  • }

同时在nginx的http字段,创建一个server字段,用来提供网页播放服务

  • server {
  •     server_name default_server;
  •     root /wwwroot/live;
  •     location /stat {
  •         rtmp_stat all;
  •         rtmp_stat_stylesheet stat.xsl;
  •     }
  •     location /stat.xsl {
  •         root /wwwroot/live;
  •     }
  • }

stat.xsl文件来源于nginx-rtmp模块的根目录,可用于帮助展示服务器上当前流媒体服务状态。

开始推流

打开OBS软件,创建一个服务,服务提供则选择自定义,服务地址为“rtmp://服务器IP/live”,steram key输入任意一个字符串,这个字符串为m3u8的主文件名。然后创建一个场景,并选择来源,调试无误后,点击推流按钮,在下面的示例里,我使用mac的前置摄像头左右视频来源。

Screen-Shot-2021-06-13-at-09.10.22

OBS工作截图

网页播放

开始推流后,如果一切无误,流媒体服务器会在接受推流之后,创建视频片段文件和m3u8文件以供客户端拉取。在支持m3u8的浏览器上直接用video标签引入地址即可实现播放:

  • <video class="player" width="960" height="400">
  • <source src="/hls/test.m3u8" type="application/x-mpegURL">
  • </video>

打开浏览器,输入nginx提供的HLS服务对饮的网页地址即可

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(1) 打赏
一分也是爱

支付宝扫一扫打赏

微信扫一扫打赏

上一篇:

下一篇:

相关推荐

博客简介

本站CDN采用VmShell免费提供离中国大陆最近的香港CMI高速网络做支撑,ToToTel打造全球最快速的边沿网络支撑服务,具体详情请见 :https://vmshell.com/ 以及 https://tototel.com/,网站所有的文件和内容禁止大陆网站搬迁复制,谢谢,VPS营销投稿邮箱: admin@linuxxword.com,我们免费帮大家发布,不收取任何费用,请提供完整测试文稿!

精彩评论

友情链接

他们同样是一群网虫,却不是每天泡在网上游走在淘宝和网游之间、刷着本来就快要透支的信用卡。他们或许没有踏出国门一步,但同学却不局限在一国一校,而是遍及全球!申请交换友链

站点统计

  • 文章总数: 2343 篇
  • 草稿数目: 12 篇
  • 分类数目: 6 个
  • 独立页面: 0 个
  • 评论总数: 2 条
  • 链接总数: 0 个
  • 标签总数: 6116 个
  • 注册用户: 139 人
  • 访问总量: 8,653,989 次
  • 最近更新: 2024年4月28日